home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Games of Daze
/
Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso
/
x2ftp
/
msdos
/
utils
/
tlayr10
/
tilelayr.doc
< prev
next >
Wrap
Text File
|
1995-04-19
|
5KB
|
150 lines
╔══════════════════════════════════════════════╗
║ ║██
║ TILE LAYER UTILITY ║██
║ version 1.00 ║██
║ ║██
║ programmed by gaggi@cs.unibo.it ║██
║ ║██
╚══════════════════════════════════════════════╝██
████████████████████████████████████████████████
Hello boys, I am here again!
I am proud to present my first C++ written application. It is a simple
tile-based world editor with a nice graphical user interface (Uhm... this is
just my opinion :) ).
My world editor is very simple to use, but anyway here are a few
explanations about the interface and its commands.
The interface looks like this ...
┌────────────────────────────┐ ┌─────┐
│ (1) Edit window │ │ │ (2) Tile set
│ │ │ │
│ │ └─────┘
│ │ <- -> (3) Tile set control button
│ │
│ │ |
│ │ <- -> (4) Edit window scroll buttons
│ │ |
│ │ ┌─────┐
│ │ ┌─────┐ (5) Menu buttons
│ │ ┌─────┐
│ │ ┌─────┐
└────────────────────────────┘ ┌─────┐
(1) Edit window
Here is where you put the tiles of your world. If you click the left button
of the mouse the current tile of the loaded tile set will be drawn on the
edit window and the corresponding index number of the tile will be stored in
the buffer that holds world datas. If you click the right one the tile under
the mouse cursor will be deleted and the value 0xff will be stored in the
buffer.
(2) Tile set
It shows the current selected tile of your tile set. If you press any mouse
button on this object you'll see a panel that shows the current tile index
number and the total number of tile in the set.
(3) Tile set control buttons
These two buttons are used to change the current selected tile.
(4) Edit window scroll buttons
Take a guess Einstein!
(5) Menu buttons
Here are the buttons and their corresponding functions:
- Load TIL
This button is used to load a new set of tiles. When you load a new set the
current world will be erased and a new one will be created. The new world
sizes are 20 bytes x 40 lines and the buffer is filled with the value 0xff.
- Load WLD
This button is used to load a new world buffer and a new set of tiles.
If no error occurs the current world will be replaced by the new one.
- Save WLD
Take a guess again!
- Redim
This button is used to set new sizes for the world buffer. I suggest you to use
it before drawing the world, because it doesn't take care of what is stored in
the buffer and what you have drawn before. No adjustement is performed!
- WLD info
It shows some piece of information about the world being edited such as:
. The current world sizes (width , height)
. The current tile set file name
. The current position of the upper left corner of the edit window in the
world buffer
. The status of the buffer, I mean if it has been modified or not.
- Quit
The last guess!
**** File formats ****
- TIL format
BYTE
0 - 15 ID string "TILE FILE"
16 - 17 version number
18 width of a tile
19 height of a tile
20 - ... tiles' datas
You can use the converter SPR2TIL provided with this package to convert SPR
files into TIL.
SPR file format is used in another application I have previously written.
You can download it directly from my WWW page at:
http://www.cs.unibo.it/~gaggi/listofprogs.html
or from the FTP site:
x2ftp.oulu.fi or teeri.oulu.fi
directory: /pub/msdos/programming/utils
file : spr_cut.zip
Anyway here is the SPR file format:
BYTE
0 Sprite 1 bitmap width
1 Sprite 1 bitmap height
2 ... width x height - 1 Sprite 1 bitmap datas
and so on for sprites 2, 3, 4, 5 ...
- WLD format
BYTE
0 - 47 Tile set file name
48 - 49 World width
50 - 51 World height
52 - ... World datas
In the package you'll find the header files of all modules and the source of
the main module only in order to explain the object hierachy used and the
general architecture of the program.
I don't think I'll release the full source of this work because it is written
in a terrible style half pure C and half C++, plus some bits of in-line
assembly code. I have programmed for months using C and ASM so that I have
some difficulties with the object-oriented programming paradigm:
"bad" habits are hard to eliminate!
Anyway take a look at my work and send me your comment and feedback on it.
Thank you,
Gaggi Nicola
University of Bologna
e-mail : gaggi@cs.unibo.it
WWW page : http://www.cs.unibo.it/~gaggi
snail-mail : Gaggi Nicola
Via Gramsci 23
40050 Quarto Inferiore (BO)
ITALY
------------------------------------------------------------